带Jetty的java多个webroot文件夹
我正在使用Jetty(版本6.1.22)为Java web应用程序提供服务。我想让Jetty在两个不同的文件夹中查找web资源。以这种布局为例:
+- project1 | +- src | +- main | +- webapp | +- first.jsp | +- project2 +- src +- main +- webapp +- second.jsp
我想让Jetty同时提供两个URL:
http://localhost/web/first.jsp
http://localhost/web/second.jsp
我试着这样启动Jetty:
Server server = new Server();
SocketConnector connector = new SocketConnector();
connector.setPort(80);
server.setConnectors(new Connector[] { connector });
WebAppContext contextWeb1 = new WebAppContext();
contextWeb1.setContextPath("/web");
contextWeb1.setWar("project1/src/main/webapp");
server.addHandler(contextWeb1);
WebAppContext contextWeb2 = new WebAppContext();
contextWeb2.setContextPath("/web");
contextWeb2.setWar("project2/src/main/webapp");
server.addHandler(contextWeb2);
server.start();
但是它只为first.jsp
服务,并为second.jsp
返回404
我怎样才能让它工作?我还希望保持在相同的上下文中(即相同的类加载器、相同的会话管理器等)
# 1 楼答案
我相信您必须编写自己的WebAppContext子类来完成您想做的事情
使用该上下文部署web应用程序的最简单方法是在上下文中使用XML文件进行部署
# 2 楼答案
自6.1.12以来,通过对WebAppContext的基本资源使用ResourceCollection来支持这一点:
更多信息:http://docs.codehaus.org/display/JETTY/Multiple+WebApp+Source+Directory